home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d11 / fontedit.arc / FONTEDIT.DOC < prev    next >
Text File  |  1989-09-28  |  34KB  |  837 lines

  1.                    FONTEDIT, (C) by Alexander Walter       page 1
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21.  
  22.  
  23.                                     FONTEDIT
  24.  
  25.                                    version 1.0
  26.  
  27.  
  28.  
  29.                                  Copyright 1989
  30.  
  31.                                 Alexander Walter
  32.  
  33.  
  34.  
  35.                    FONTEDIT, (C) by Alexander Walter       page 2
  36.  
  37.  
  38.  
  39.    1.  Acknowledgments............................................3
  40.    2.  Miscellany.................................................3
  41.    3.  Requirements and Limitations...............................3
  42.    4.  Introduction and Features..................................4
  43.    5.  Guide to Operation.........................................4
  44.    5.1.     Basic Screen Layout...................................5
  45.    5.2.     Main Menu.............................................6
  46.    5.2.1.        Pixel Edit.......................................6
  47.    5.2.1.1.      Invert...........................................7
  48.    5.2.1.2.      Area Operators...................................7
  49.    5.2.1.2.1.      Polygon Fill & Clear...........................8
  50.    5.2.1.2.2.      Rectangle Fill & Clear.........................9
  51.    5.2.1.2.3.      Ellipse Fill & Clear..........................10
  52.    5.2.1.2.4.      Pixel Edit....................................11
  53.    5.2.1.3.      Clear Character.................................11
  54.    5.2.1.4.      Row/Col Ins/Del.................................11
  55.    5.2.1.5.      Quit & Save.....................................12
  56.    5.2.1.6.      Toggle Pixel....................................12
  57.    5.2.1.7.      Quit, no Save...................................12
  58.    5.2.2.         Magnification..................................13
  59.    5.2.3.        New Font........................................13
  60.    5.2.4.        Create New Char.................................13
  61.    5.2.5.        Delete Character................................14
  62.    5.2.6.        Quit............................................14
  63.    5.3.     Notes................................................14
  64.    6.  Sample Session............................................15
  65.  
  66.  
  67.                    FONTEDIT, (C) by Alexander Walter       page 3
  68.  
  69.  
  70.  
  71.  
  72.    1.         Acknowledgments
  73.  
  74.      FONTEDIT is copyright 1989 by Alexander Walter. All rights reserved. The
  75.    purchaser is granted the right to make one copy for backup or archival
  76.    purposes.
  77.  
  78.      The run-time file BRUN40.EXE is copyright by Microsoft and is
  79.    distributed with this package in accordance with the QuickBasic 4.0
  80.    licensing agreement.
  81.  
  82.      Thanks to Charles Nicol II and Jay Latham for beta-testing and many
  83.    helpful user-interface suggestions.
  84.  
  85.  
  86.  
  87.    2.         Miscellany
  88.  
  89.      FONTEDIT is available directly from the author for $30. Please send
  90.    check or money order to:
  91.  
  92.                                 Alexander Walter
  93.                                   182 ILER Dr.
  94.                              Middletown, NJ.  07748
  95.  
  96.    phone support is available at (201) 389-6755 or (201) 671-5080.
  97.  
  98.      If you encounter any problems or bugs with FONTEDIT, please report them
  99.    to the author along with a description of the steps that led up to it. If
  100.    you have any suggestions for new features, pass them along.
  101.  
  102.  
  103.  
  104.    3.         Requirements and Limitations
  105.  
  106.      FONTEDIT requires a graphics display, CGA or higher. A Hercules graphics
  107.    display can be used provided you use a CGA emulator on it. Several such
  108.    emulators are available through shareware or the public domain.
  109.  
  110.      FONTEDIT requires approximately 180K of available RAM, i.e., memory not
  111.    used by DOS or TSRs. FONTEDIT can be run from one floppy disk drive;
  112.    however, since HP font files can be large, hard disk usage is recommended.
  113.  
  114.      The font file being edited with FONTEDIT must be of the HP Laserjet
  115.    format. This includes Series II and above. Postscript font files are not
  116.    supported. You cannot change the built-in Courier and TTY fonts of the
  117.    laser printer.
  118.  
  119.      Version 1.0 of FONTEDIT does not yet support changing the character
  120.  
  121.                    FONTEDIT, (C) by Alexander Walter       page 4
  122.  
  123.  
  124.  
  125.    spacing for proportionally spaced fonts.
  126.  
  127.      Version 1.0 of FONTEDIT cannot create a new font file from scratch - you
  128.    must edit an already-existing fontfile. However, version 1.0 allows you to
  129.    add and delete characters from a font file. Purchasers of version 1.0 will
  130.    be entitled to a free upgrade to the next version of FONTEDIT.
  131.  
  132.  
  133.  
  134.    4.         Introduction and Features
  135.  
  136.      FONTEDIT is a tool to view and edit laser printer soft font files for
  137.    the Hewlett-Packard laser printer. Such a tool can be used to touch-up
  138.    existing characters in a file, define special characters in a font file,
  139.    or create an entirely new fontface. For example, using FONTEDIT you could
  140.    add Greek characters to a font file you already have; you could define
  141.    special characters such as the Gantt chart symbols used by Timeline and
  142.    other project management software; or you could produce a stylized version
  143.    of your company's name or logo.
  144.  
  145.      FONTEDIT is distinguished in its price category by the features offered:
  146.  
  147.      -   Can view and edit both portrait and landscape fonts.
  148.  
  149.      -   Handles up to 45 point size.
  150.  
  151.      -   Handles both fixed-width and proportional fonts.
  152.  
  153.      -   Automatically detects a mouse if present and uses it.
  154.  
  155.      -   Allows both pixel-level editing of individual characters and fill &
  156.          clear area operations.
  157.  
  158.      -   Requires only CGA graphics. Hercules graphics can be used provided a
  159.          CGA emulator (not supplied here) is used.
  160.  
  161.      -   Can insert or delete rows and columns of individual characters.
  162.  
  163.      -   Can delete characters from a font.
  164.  
  165.      -   Can define new characters to add to a font.
  166.  
  167.      -   Handles font files which consist of several fonts grouped together.
  168.  
  169.      -   Menu-driven user interface, available at all times.
  170.  
  171.      -   Built-in DOS access.
  172.  
  173.  
  174.  
  175.    5.         Guide to Operation
  176.  
  177.      Before beginning, it is a good idea to back up both FONTEDIT and the
  178.  
  179.                    FONTEDIT, (C) by Alexander Walter       page 5
  180.  
  181.  
  182.  
  183.    font file you will be editing
  184.  
  185.      To begin FONTEDIT, simply type FONTEDIT as the DOS prompt. You may
  186.    follow it with the name of the font file to edit. If you don't, FONTEDIT
  187.    will ask you to supply a font filename.
  188.  
  189.      While you are prompted for a filename, FONTEDIT displays a message
  190.    whether a mouse driver is installed or not. If you have a mouse but have
  191.    forgotten to install the driver, you can exit FONTEDIT at this point by
  192.    pressing CTRL-C.
  193.  
  194.      Either on the command line or when FONTEDIT asks for a filename, you may
  195.    supply a filename containing wildcards and, optionally, a drive
  196.    designator. FONTEDIT responds with a list of matching filenames from which
  197.    you can point and shoot with a mouse. If a mouse is not installed, you can
  198.    choose a filename by moving the reverse-video highlight with the arrow
  199.    keys and pressing Enter. If a drive designator is not specified, the
  200.    default drive is used. If you make a mistake in the wildcards, you can
  201.    press Space Bar and reenter the wildcards or a filename.
  202.  
  203.      After loading the font file, if it contains multiple font definitions
  204.    you will be asked which font you want to view and edit; after you answer
  205.    you will see the main menu (described below). If the font file contains
  206.    only one font definition, you will immediately be at the main menu. If
  207.    ASCII 65 (capital "A") is defined for the font file you are editing, it
  208.    will be displayed. At any time after this point, you may temporarily
  209.    escape to DOS by pressing ALT-D.
  210.  
  211.      Upon completion of editing, saving of your work, and exiting FONTEDIT,
  212.    you can download to your printer the newly edited font file. Normally,
  213.    this is done by using either the DOS command:
  214.  
  215.               copy /b fontfile prn
  216.  
  217.    or by using whatever font downloading utilities you usually use.
  218.  
  219.  
  220.  
  221.    5.1.       Basic Screen Layout
  222.  
  223.      The basic screen layout is a status line at the top; on the top right
  224.    are the menu choices available via the Function Keys, RETURN, or ESC; on
  225.    the middle right is information about the font being edited; and on the
  226.    bottom right is information about the displayed character. The rest of the
  227.    screen is used to display a magnified version of the characters. At times
  228.    the bottom line is used for messages.
  229.  
  230.      The displayed character and the border around it is referred here as the
  231.    character box. The character box is surrounded by a larger box which is
  232.    referred here as the cell box. The cell box denotes the largest character
  233.    size which any character in this font can be. The information area on the
  234.    right of the screen shows the size of the cell box and character box.
  235.  
  236.      For portrait fonts, the baseline is shown on screen. The baseline is the
  237.                    FONTEDIT, (C) by Alexander Walter       page 6
  238.  
  239.  
  240.  
  241.    level of the bottom of characters without descenders, such as "x", "c", or
  242.    "r". Characters such as "p", "q", and "y" normally have descenders which
  243.    extend below the baseline.
  244.  
  245.      The magnification factor is automatically chosen at start-up to provide
  246.    a size which fills up the screen as much as possible while maintaining a
  247.    "pleasing" ratio of width to height. The character box is displayed with
  248.    grid lines superimposed as an editing guide for the user. If the
  249.    magnification is such that the character box would become congested while
  250.    the grid lines are displayed, the grid lines are suppressed.
  251.  
  252.  
  253.    5.2.       Main Menu
  254.  
  255.      The status message at the top of the screen says "Press a character to
  256.    display it." The main menu contains the following choices:
  257.  
  258.               F2 = Pixel Edit
  259.               F4 = Magnification
  260.               F6 = New Font           (note: you see this choice only if the
  261.                                       font file defines more than one font)
  262.               F7 = Create New Char.
  263.               F8 = Delete Character
  264.               ESC= Quit
  265.  
  266.      At this point you can either begin to operate on the character
  267.    displayed, or press a letter or number key to display that character. If
  268.    the ASCII value corresponding to the key you pressed is not defined in the
  269.    font, there will be no response. To display any ASCII characters defined
  270.    in your font file, including those such as ASCII 127 which don't have an
  271.    associated key on the keyboard, you can also press and hold the ALT key,
  272.    type the 3-digit ASCII value on the numeric keypad, then release the ALT
  273.    key. Again, if that ASCII value is not defined in the font, there will be
  274.    no response.
  275.  
  276.  
  277.  
  278.    5.2.1.     Pixel Edit
  279.  
  280.      Edit is a choice from the main menu, and operates on the character
  281.    displayed. Upon entering the edit mode, the status message at the top of
  282.    the screen says either:
  283.  
  284.    "Pixel Editing.   Left Button: Set Pixel    Right Button: Clear Pixel"
  285.  
  286.    if a mouse is installed, or:
  287.  
  288.    "Pixel Editing.    Use arrow keys to move crosshairs";
  289.  
  290.    if no mouse is installed. The following menu choices are displayed:
  291.  
  292.               F2 = Invert
  293.               F3 = Area Operators
  294.               F4 = Clear Character
  295.                    FONTEDIT, (C) by Alexander Walter       page 7
  296.  
  297.  
  298.  
  299.               F5 = Row/Col Ins/Del
  300.               F10= Quit & Save
  301.               RET= Toggle pixel       (note: you will see this menu choice
  302.                                       only if no mouse is installed)
  303.               ESC= Quit, no save
  304.  
  305.      At this point, the mouse arrow cursor will be visible if a mouse is
  306.    installed. If no mouse is installed, you will see a crosshair which you
  307.    can move with the arrow keys on the numeric keypad. You can begin editing
  308.    individual pixels by either moving the mouse arrow and clicking, or by
  309.    moving the crosshair and pressing RETURN to toggle the pixel underneath on
  310.    or off.
  311.  
  312.      The character box can be moved around within the cell box by pressing
  313.    CTRL-UP, CTRL-DOWN, CTRL-LEFT, or CTRL-RIGHT. If your keyboard has two
  314.    sets of arrow keys, the arrow keys on the numeric keypad must be used. As
  315.    you move the character, the left offset and top offset are updated in the
  316.    character information display.
  317.  
  318.  
  319.  
  320.    5.2.1.1.   Invert
  321.  
  322.      Invert is a function chosen from the Pixel Edit menu. It will change all
  323.    "on" pixels to "off" pixels, and vice versa. It operates on the character
  324.    presently displayed, including any editing changes already made up to that
  325.    point.
  326.  
  327.  
  328.  
  329.    5.2.1.2.   Area Operators
  330.  
  331.      Area Operators is a choice from the Pixel Edit menu. It allows you to
  332.    fill (turn "on") or clear (turn "off") a large group of pixels at once.
  333.    Several types of shapes are available. Upon entering the edit mode, the
  334.    status message at the top of the screen says:
  335.  
  336.    "Area fill & Clear.    Choose a shape with F keys."
  337.  
  338.    The following menu choices are displayed:
  339.  
  340.               F3 = Polygon
  341.               F4 = Rectangle
  342.               F5 = Ellipse
  343.               ESC= Pixel Edit
  344.  
  345.      At this point you can either choose one of the shapes shown, or escape
  346.    back to pixel editing. Any area operations you have completed but now wish
  347.    to undo must be undone by escaping to Pixel Editing, and then escaping
  348.    from Pixel Editing back to the Main Menu. Caution - this will also undo
  349.    any other unrelated editing changes for that character.
  350.  
  351.      All area operations act on a character using the aspect ratios presently
  352.    in use. For instance, if you choose a circular fill area operation (a
  353.                    FONTEDIT, (C) by Alexander Walter       page 8
  354.  
  355.  
  356.  
  357.    special case of the ellipse fill), but the character is displayed such
  358.    that it is wide and flat, the filled area will appear circular on screen.
  359.    However, once is is printed, the filled area would appear more like a
  360.    tall, upright ellipse rather than a circle. The default aspect ratio has
  361.    been chosen to eliminate this potential problem.
  362.  
  363.  
  364.  
  365.    5.2.1.2.1. Polygon Fill & Clear
  366.  
  367.      Polygon fill and clear allows filling and clearing of areas of
  368.    arbitrary, closed shape. The shape should be a polygon that does not loop
  369.    onto itself such as a figure eight. For such a polygon, only one of the
  370.    interior loops would be filled or cleared.
  371.  
  372.      Upon entering Polygon Fill & Clear, the status message at the top of the
  373.    screen says either:
  374.  
  375.    "Polygon fill.   Left Button: Mark vertex   Right Button: Close polygon"
  376.  
  377.    if a mouse is installed, or simply:
  378.  
  379.    "Polygon fill."
  380.  
  381.    if no mouse is installed. The menu keys display the choices:
  382.  
  383.               With Mouse:             Without Mouse:
  384.  
  385.                                       F10= Close Polygon
  386.                                       RET= Mark vertex
  387.               ESC= Cancel Polygon     ESC= Cancel
  388.  
  389.      To begin marking the polygon to fill or clear, go to a vertex of it and
  390.    either press the left mouse button (if using a mouse), or press RETURN (if
  391.    not using a mouse). The first vertex will blink as a marker to you. Then
  392.    go to each succeeding vertex in order and either press the left mouse
  393.    button or press RETURN. As you mark each vertex, a partially drawn polygon
  394.    will be superimposed on the character displayed. At any time you can abort
  395.    the polygon fill & clear operation by pressing ESC.
  396.  
  397.      After you have marked each vertex, it is not necessary to go back to the
  398.    first vertex; simply press the right mouse button (if using a mouse), or
  399.    press F10 (if not using a mouse). The polygon will automatically be
  400.    completed between the last vertex marked and the first vertex.
  401.  
  402.      At this point, the character is temporarily suppressed, leaving
  403.    displayed the outline of the character box and the polygon just marked.
  404.    You now have the option of:
  405.  
  406.      -        Filling the interior of the polygon;
  407.      -        Clearing the interior of the polygon;
  408.      -        Filling the exterior of the polygon;
  409.      -        Clearing the exterior of the polygon.
  410.  
  411.                    FONTEDIT, (C) by Alexander Walter       page 9
  412.  
  413.  
  414.  
  415.    The menu choices will show:
  416.  
  417.               F3 = Fill
  418.               F4 = Clear
  419.  
  420.      Move the mouse or crosshairs to either the interior or exterior of the
  421.    polygon, and press either F3 or F4. After a few seconds, the character
  422.    will be redrawn with the affected pixels either filled or cleared. You
  423.    will be returned back to the Area Operations menu.
  424.  
  425.  
  426.  
  427.    5.2.1.2.2. Rectangle Fill & Clear
  428.  
  429.      Rectangle fill & clear allows filling of rectangular (including square)
  430.    regions, and operates in a similar manner as polygon fill & clear, except
  431.    that only the two diagonally opposite corners of the rectangle need to be
  432.    marked. They can be either upper left - lower right, or lower left - upper
  433.    right.
  434.  
  435.      Upon entering Rectangle Fill & Clear, the status message at the top of
  436.    the screen says either:
  437.  
  438.    "Rectangle fill.    Left Button: 1st corner    Right Button: Opposite
  439.    Corner"
  440.  
  441.    if a mouse is installed, or simply:
  442.  
  443.    "Rectangle fill."
  444.  
  445.    if no mouse is installed. The menu keys display the choices:
  446.  
  447.               With Mouse:             Without Mouse:
  448.  
  449.                                       RET= Mark Corner
  450.               ESC= Cancel Rectangle   ESC= Cancel Rectangle
  451.  
  452.      To begin marking the rectangle to fill or clear, go to a corner of it
  453.    and either press the left mouse button (if using a mouse), or press RETURN
  454.    (if not using a mouse). The first corner will blink as a marker to you.
  455.    Then go to the diagonally opposite corner and either press the right mouse
  456.    button or press RETURN. At any time you can abort the rectangle fill &
  457.    clear operation by pressing ESC.
  458.  
  459.      At this point, the character is temporarily suppressed, leaving
  460.    displayed the outline of the character box and the rectangle just marked.
  461.    You now have the option of:
  462.  
  463.      -        Filling the interior of the rectangle;
  464.      -        Clearing the interior of the rectangle;
  465.      -        Filling the exterior of the rectangle;
  466.      -        Clearing the exterior of the rectangle.
  467.  
  468.    The menu choices will show:
  469.                    FONTEDIT, (C) by Alexander Walter       page 10
  470.  
  471.  
  472.  
  473.  
  474.               F3 = Fill
  475.               F4 = Clear
  476.  
  477.      Move the mouse or crosshairs to either the interior or exterior of the
  478.    rectangle, and press either F3 or F4. After a few seconds, the character
  479.    will be redrawn with the affected pixels either filled or cleared. You
  480.    will be returned back to the Area Operations menu.
  481.  
  482.  
  483.  
  484.    5.2.1.2.3. Ellipse Fill & Clear
  485.  
  486.      Ellipse fill & clear allows filling of elliptical (including circular)
  487.    regions, and operates in a similar manner as rectangle fill & clear,
  488.    except that only the center of the ellipse and a point on it need to be
  489.    marked.
  490.  
  491.      Upon entering Ellipse Fill & Clear, the status message at the top of the
  492.    screen says either:
  493.  
  494.    "Ellipse fill.       Left Button: Center of ellipse"
  495.  
  496.    if a mouse is installed, or:
  497.  
  498.    "Ellipse fill.     Go to center of Ellipse & mark it."
  499.  
  500.    if no mouse is installed. The menu keys display the choices:
  501.  
  502.               With Mouse:             Without Mouse:
  503.  
  504.               F3 = Wider, Flatter     F3 = Wider, Flatter
  505.               F4 = Taller, Thinner    F4 = Taller, Thinner
  506.               F5 = Refresh Charac.    F5 = Refresh Charac.
  507.                                       F10= Ellipse OK
  508.                                       RET= Mark Corner
  509.               ESC= Cancel Ellipse     ESC= Cancel Ellipse
  510.  
  511.      After you mark the center of the ellipse it will blink as a marker to
  512.    you. The status line will change to read:
  513.  
  514.     "Ellipse fill.       Right Button: Ellipse OK"
  515.  
  516.    if you are using a mouse, or:
  517.  
  518.    "Arrow keys: Define size     F keys: Shape of Ellipse"
  519.  
  520.      if no mouse is installed. Move the mouse cursor or crosshairs to define
  521.    the size of the ellipse; as you move, the ellipse is continually redrawn
  522.    to show you where it will go. The default shape is circular, but you can
  523.    change the shape by repeatedly pressing the F3 and/or F4 keys.
  524.  
  525.      At times, the redrawing process of ellipse may make it hard to make out
  526.    the character underneath. If this becomes the case, press F5 to refresh
  527.                    FONTEDIT, (C) by Alexander Walter       page 11
  528.  
  529.  
  530.  
  531.    the character display.
  532.  
  533.      When you have made the ellipse the right size and shape, press the right
  534.    mouse button (if using a mouse), or the F10 key (if not using a mouse). At
  535.    this point, the character is temporarily suppressed, leaving displayed the
  536.    outline of the character box and the ellipse just marked. You now have the
  537.    option of:
  538.  
  539.      -        Filling the interior of the ellipse;
  540.      -        Clearing the interior of the ellipse;
  541.      -        Filling the exterior of the ellipse;
  542.      -        Clearing the exterior of the ellipse;
  543.  
  544.    The menu choices will show:
  545.  
  546.               F3 = Fill
  547.               F4 = Clear
  548.  
  549.      Move the mouse or crosshairs to either the interior or exterior of the
  550.    ellipse, and press either F3 or F4. After a few seconds, the character
  551.    will be redrawn with the affected pixels either filled or cleared. You
  552.    will be returned back to the Area Operations menu.
  553.  
  554.  
  555.  
  556.    5.2.1.2.4. Pixel Edit
  557.  
  558.      This menu choice from the Area Operations menu allows you to return to
  559.    pixel editing. While in pixel editing you can, for instance, do detailed
  560.    pixel by pixel touch-up work of the areas worked on by the area operators.
  561.  
  562.  
  563.  
  564.    5.2.1.3.   Clear Character
  565.  
  566.      This function is chosen from the Pixel Edit menu. It allows you to
  567.    "clear" (turn off) all pixels within the presently displayed character
  568.    box.
  569.  
  570.  
  571.  
  572.    5.2.1.4.   Row/Col Ins/Del
  573.  
  574.      Row/Col Ins/Del allows you to change the size of the character box by
  575.    inserting or deleting rows and columns. Rows and columns are inserted or
  576.    deleted under the current location of the mouse cursor or crosshairs. By
  577.    moving the mouse or crosshairs you can insert or delete rows and columns
  578.    anywhere in the character box.
  579.  
  580.      Row/Column insert/delete acts upon the image of the character as
  581.    displayed. Since landscape fonts are displayed sideways, deleting a row on
  582.    the screen corresponds to deleting a column in the printed version of the
  583.    character.
  584.  
  585.                    FONTEDIT, (C) by Alexander Walter       page 12
  586.  
  587.  
  588.  
  589.      When inserting or deleting rows or columns, the upper left corner of the
  590.    character box is anchored. The character box grows downward and/or to the
  591.    right, and contracts upward and/or to the left. It will not grow beyond
  592.    the limits of the cell box, and you cannot contract it to zero rows or
  593.    columns. You can move the upper left corner of the character box by
  594.    pressing CTRL-UP, CTRL-DOWN, CTRL-LEFT, or CTRL-RIGHT. If your keyboard
  595.    has two sets of arrow keys, the arrow keys on the numeric keypad must be
  596.    used.
  597.  
  598.      When inserting rows or columns, the row or column under the mouse cursor
  599.    or crosshairs will be replicated.
  600.  
  601.      Upon entering row/column insert/delete, the status message at the top of
  602.    the screen says:
  603.  
  604.    "Insert & Delete Rows or Columns.    Go to row or column and use F keys."
  605.  
  606.    The menu choices will show:
  607.  
  608.               F5 = Insert Row
  609.               F6 = Delete Row
  610.               F7 = Insert Column
  611.               F8 = Delete Column
  612.               F10= Size OK
  613.               ESC= Abort
  614.  
  615.      Rows and columns are inserted and deleted as described above by pressing
  616.    the F5, F6, F7, or F8 keys. When finished, press F10. If you decide not to
  617.    accept the changes you made, press ESC. If you press ESC, the character
  618.    will be restored to the size it had prior to beginning row/column
  619.    insert/delete. Any editing changes made prior to beginning row/column
  620.    insert/delete will also be restored.
  621.  
  622.  
  623.  
  624.    5.2.1.5.   Quit & Save
  625.  
  626.      This function saves your editing changes to this character, terminates
  627.    Pixel Editing, and returns you to the main menu.
  628.  
  629.  
  630.  
  631.    5.2.1.6.   Toggle Pixel
  632.  
  633.      This function can be chosen only if using FONTEDIT without a mouse. It
  634.    allows you to toggle the pixel underneath the crosshairs either on or off.
  635.  
  636.  
  637.  
  638.    5.2.1.7.   Quit, no Save
  639.  
  640.      This function terminates Pixel Editing and returns you to the main menu
  641.    without saving any of your changes to the character displayed.
  642.  
  643.                    FONTEDIT, (C) by Alexander Walter       page 13
  644.  
  645.  
  646.  
  647.  
  648.  
  649.    5.2.2.     Magnification
  650.  
  651.      Magnification is used to change the size of the characters displayed on
  652.    the screen. Normally, it will not be necessary to use this option, since
  653.    FONTEDIT will automatically choose magnification factors which fill up the
  654.    screen as much as possible while maintaining a "pleasing" ratio of width
  655.    to height.
  656.  
  657.      The smaller the magnification factor, the smaller the character display
  658.    will be, and vice versa. This feature could be used to approximate on
  659.    screen how the printed character will look, although because of the
  660.    screen's resolution it is not possible to duplicate the 300 dot per inch
  661.    resolution of the printer.
  662.  
  663.      When this option is selected, FONTEDIT will display the present
  664.    magnification factors and prompt you for new factors. The factors are
  665.    displayed in the form X,Y. This means that every pixel in the character is
  666.    composed of "X" rows and "Y" columns of pixels on the screen.
  667.    Magnification factors of 1,1 are the smallest that can be displayed; the
  668.    largest depends on the point size of the font being displayed.
  669.  
  670.      Magnification factors are inputted in the form X,Y including comma. If
  671.    either X or Y is omitted, the present value is used. Pressing Return
  672.    without supplying X or Y will keep the present values.
  673.  
  674.  
  675.  
  676.    5.2.3.     New Font
  677.  
  678.      New Font is a choice made from the Main Menu, and can be made only if
  679.    the the font file being edited contains multiple font definitions. If it
  680.    does and you select New Font, you will be presented a list of the
  681.    available fonts along with their point size and orientation (portrait or
  682.    landscape). Make your choice by number. You will be returned to the Main
  683.    Menu, and if "A" is defined in the new font, it will be displayed.
  684.  
  685.  
  686.  
  687.    5.2.4.     Create New Char.
  688.  
  689.      Create New Character is a choice from the Main Menu. It allows you to
  690.    define characters for ASCII values which previously had no symbol in the
  691.    font. All members of the Laserjet family can print characters with ASCII
  692.    values from 32 - 127, and 160 - 255 inclusive. Additionally, the Laserjet
  693.    Series II and above can print characters with ASCII values from 1 - 6, 16
  694.    - 26, and 28 - 255 inclusive. In the interest of compatibility with the
  695.    Laserjet Plus, FONTEDIT does not presently allow creation of characters
  696.    with ASCII values outside the range of 32 - 127, and 160 - 255 inclusive.
  697.    You can, however, still edit those characters if they are already defined
  698.    in your font file.
  699.  
  700.      When you choose the Create New Character option, you will be presented a
  701.                    FONTEDIT, (C) by Alexander Walter       page 14
  702.  
  703.  
  704.  
  705.    list of the available, unused ASCII values in the font. To pick, point and
  706.    shoot with the mouse, or else if no mouse is installed, move the
  707.    reverse-video highlight with the arrow keys and press ENTER. Press ESC at
  708.    any time to abort back to the Main Menu.
  709.  
  710.      After you pick an ASCII value to define, FONTEDIT will create a blank
  711.    character with a default size of half the cell box width and half the cell
  712.    box height. You will then be put into Pixel Editing mode, where all the
  713.    pixel editing tools, including resizing the character box and moving it
  714.    around within the cell box, are available to you. When you are done, exit
  715.    from Pixel Editing as usual, and you will be at the Main Menu.
  716.  
  717.      If at this point you change your mind about defining a new character,
  718.    you can delete it using the Delete Character option described below.
  719.  
  720.  
  721.  
  722.    5.2.5.     Delete Character
  723.  
  724.      Delete Character is a choice from the Main Menu. It allows you to delete
  725.    the definition of a character from the font after confirmation from the
  726.    user. The definition of the character is removed from the font file, and
  727.    the font file will become smaller. The deleted ASCII value becomes
  728.    available to the Create New Character option.
  729.  
  730.  
  731.  
  732.    5.2.6.     Quit
  733.  
  734.      Quit is a choice from the main menu. It allows you to exit from FONTEDIT
  735.    and will complete writing the changes you made to the font file.
  736.  
  737.  
  738.  
  739.    5.3.       Notes
  740.  
  741.      FONTEDIT uses the temporary files FE{TMP}.$$2, FE{TMP}.$$3, and
  742.    FE{TMP}.$$4, which are erased upon completion. If these files already
  743.    exist on your computer they will be overwritten.
  744.  
  745.                    FONTEDIT, (C) by Alexander Walter       page 15
  746.  
  747.  
  748.  
  749.    6.         Sample Session
  750.  
  751.      The best way to describe FONTEDIT is to walk through a sample session.
  752.    An existing font file must be on hand; as of now, FONTEDIT cannot create a
  753.    new font file from scratch. Before beginning, make a copy of your font
  754.    file and use the copy in this sample session.
  755.  
  756.      The objective of this sample session will be to create a special symbol
  757.    used when printing Gantt timing charts. The symbol we will create is ASCII
  758.    127. This symbol is a hollow, upward-pointing triangle and is used by the
  759.    on-screen display of Timeline to signify a milestone. However, most font
  760.    files do not include this character, so we must either make do with a
  761.    substitute or define our own. When printing a Gantt file to disk, Timeline
  762.    uses ASCII 127 as the milestone character, so we will edit ASCII 127.
  763.  
  764.      Start up FONTEDIT and choose your font file. When you get to the main
  765.    menu, try displaying ASCII 127. Since it is not represented by a key on
  766.    the keyboard, you will have to hold down the ALT key, press 127 on the
  767.    numeric keypad, and then let go of the ALT key. If nothing happens on the
  768.    screen, this means ASCII 127 is not defined in the font file. You will
  769.    have to Create a New Character. If so, choose F7 from the main menu.
  770.    Highlight "127" from the list you see and either click the mouse or press
  771.    ENTER. You will now be in Pixel Edit mode for ASCII 127.
  772.  
  773.      If ASCII 127 already exists in your font file, press F2 from the Main
  774.    Menu to begin editing it.
  775.  
  776.        In Pixel Edit mode, perform the following steps to create a hollow,
  777.    upward pointing triangle. At all times we will be choosing from the menu
  778.    options displayed along the top and top right of the screen.
  779.  
  780.        -  Press F4 to clear the character entirely.
  781.        -  Press F3 to begin Area Operations.
  782.        -  Press F3 to choose a polygon shape.
  783.        -  Go to the top of the character box and mark this as the apex (top)
  784.           of the triangle by either pressing the left mouse button (if a
  785.           mouse is installed), or by pressing RETURN (if no mouse is
  786.           installed).
  787.        -  Go to the lower left corner of the character box and mark it as the
  788.           lower left corner of the triangle by pressing either the left mouse
  789.           button or RETURN.
  790.        -  Go to the lower right corner of the character box and mark it as
  791.           the lower right corner of the triangle by pressing either the left
  792.           mouse button or RETURN.
  793.        -  Complete the triangle by pressing either the right mouse button (if
  794.           using a mouse), or F10 (if not using a mouse).
  795.        -  Move the mouse cursor or crosshairs to the interior of the triangle
  796.           and press F3 to Fill it.
  797.  
  798.    We now have a solid, upward pointing triangle on screen. But we want a
  799.    hollow triangle. So we will repeat the process above for a smaller
  800.    triangle within the solid triangle, but instead of filling it we will
  801.    clear it.
  802.  
  803.                    FONTEDIT, (C) by Alexander Walter       page 16
  804.  
  805.  
  806.  
  807.        -  Press F3 to choose a polygon shape.
  808.        -  Go to a point about 4 pixels below the apex of the solid triangle
  809.           and press the left mouse button or RETURN.
  810.        -  Go to a point about 4 pixels above and to the right of the lower
  811.           left corner of the character box and mark it as the lower left
  812.           corner of the triangle by pressing either the left mouse button or
  813.           RETURN.
  814.        -  Go to a point about 4 pixels above and to the left of the lower
  815.           right corner of the character box and mark it as the lower right
  816.           corner of the triangle by pressing either the left mouse button or
  817.           RETURN.
  818.        -  Complete the triangle by pressing either the right mouse button (if
  819.           using a mouse), or F10 (if not using a mouse).
  820.        -  Move the mouse cursor or crosshairs to the interior of the triangle
  821.           and press F4 to Clear it.
  822.        -  Press ESC to go to Pixel Editing. You can do pixel-by-pixel touchup
  823.           of the character if you wish.
  824.        -  Press F10 to save your changes
  825.  
  826.    At this point we should now have displayed and saved a hollow, upward
  827.    pointing triangle. We could continue to define new characters, but lets
  828.    stop; this is enough for a demonstration.
  829.  
  830.        -  Press ESC to quit. When prompted for confirmation, press "Y".
  831.  
  832.        Your fontfile has now been edited to define ASCII 127 as a hollow,
  833.    upward pointing triangle. Download it to your laser printer as usual, and
  834.    whenever you print a document using this font, all ASCII 127s will be
  835.    displayed as a hollow, upward pointing triangle.
  836.  
  837.